


const tempUrl = 'https://zxcloud-test.oss-cn-hangzhou.aliyuncs.com/user/contract/2023-04/16818713191812.委托代征协议（个体、个独注册）.pdf'
const PreviewShowConfig_ = (url='')=>{
  return {
    model:'page',
    config:{title:'',visible: false, loading: false, width: '50vw',height: '60vh' },
    url
  }
}

const upLoadConfig = ()=>{
  return {
    // 此参数必填  上传路径
    dir: "/user/contract/",
    // 身份证  all   ；  单文件 对应 card1 ；   多文件 对应  card3 ； 身份证  对应  card1（身份证正面）、card2（身份证反面）
    model: "单文件",
    // 此参数选填   此属性只在 model= 身份证 时 启用   默认值文false
    showBG: false,
    // 此参数选填  表示是否可编辑
    readonly: false,
    // 提示信息
    tips:{
      card1: '请上传文件',
      card2: '这是提示信息',
      card3: '这是提示信息',
    },
    // 此参数选填   文件上传必填校验 默认为false 不校验   当值为true时进行强制校验  需要配合【getDataCheckRes】方法使用；
    // 方法【getDataCheckRes】的具体用法如: this.$refs.UpLoadFile.getDataCheckRes({ card1: "请上传身份证正面",card2: "请上传身份证反面", card3: "请上传附件"});
    // 其中 【getDataCheckRes】的参数辨识检验不通过时对应的提示信息；card1、card2、card3均可缺省，也可选填对应的字段    此参数可空
    required: true,
    // 此参数选填   要回显的数据 card1 card2 的值的格式为：{name:'',url:''} ;  card3 的值的格式为 [{name:'',url:''}，{name:'',url:''}]
    defaultFileList: {
      card1: {},
      card2: {},
      card3: [],
    },
    // 此参数集必填
    fielConfig: {
      // 允许上传的文件类型 当为空时表示不限制  默认为空
      //    可供选择类型：
      //          图片('jpg', 'png', 'jpeg')
      //          文档('xlsx', 'xls', 'pptx', 'ppt', 'pdf', 'doc', 'docx', 'txt')
      //          压缩包('zip', 'rar')  发票('pdf', 'jpg', 'png', 'jpeg', 'doc', 'docx', 'zip', 'rar')
      //          PDF(pdf)
      //          委托代征协议('pdf','jpg', 'png', 'jpeg')
      //          我的任务('jpg', 'png', 'jpeg','pdf','xlsx', 'xls', 'pdf', 'doc', 'docx','zip', 'rar' )
      // eg:
      //    当值为string类型时，对所有（card1,card2,card3）的有效；
      //    当值为对象（{"card1":'图片',"card2":'文档', "card3":'PDF'}）时，可指定每个（card1/card2/card3）所对应的类型
      type: "合同专用",
      // 允许上传的文件个数  默认值为1
      // eg: 1 表示只允许上传1个文件；
      //      当值为对象（{"card1":1,"card2":2, "card3":3}）时，可指定每个（card1/card2/card3）所对应的类型
      size: 1,
      // 上传的单个文件大小 单位为 MB  默认值为1
      //  eg: 当值为 number 时，对所有（card1,card2,card3）的有效；
      //        当值为对象（{"pdf":5,"xlsx":10, "zip":100}）时,可指定对应的文件类型的大小（单位：MB）
      singleFileSize: 100,
    },
  }
}

/**
 * 文件上传组件校验方法
 * @param {*} rule
 * @param {*} value
 * @param {*} callback
 * @param {*} msg 警告信息
 * @returns
 */
const upLoadRules = (rule, value, callback,msg)=>{
  let res = true
  Object.keys(value).forEach(key=>{
    const {url} = value[key]
    if(!url){
      res = false
    }
  })
  if(res==false){
    callback(new Error(msg))
    return false
  }
  callback()
}

const pageConfig = (pageSelf)=>{
  const extendedFileVerification=[{ 'groupName':'合同专用', suffixArr:['jpg','jpeg','png','pdf','doc','docx','xls','xlsx','zip','rar'],errorMsg:'只允许上传 jpg,jpeg,png,pdf,doc,docx,xls,xlsx,zip,rar类型文件' }]
  return {
    // 续签
    'CM001':{
      pageTitle:'续签合同',
      formRules:{},
      // 状态1  2  3 4
      // wuzhuang  数据全集
      // 所有的配置数据
      formDataList:{
        '续签合同':[
          { enName:'modelName', cnName:'选择模板', type:'custom',value:{itemData:''},numRowsOccupied: 5, numColumnOccupied: 2 ,formItemAttr:{labelCol:{span: 2},wrapperCol:{span: 20}},itemAttr:{actionType:'1'},},
        ]
      },
      btnList:[]
    },
    // 补充协议
    'CM002':{
      pageTitle:'补充协议',
      formRules:{},
       // 状态1  2  3 4
      // wuzhuang  数据全集
      // 所有的配置数据
      formDataList:{
        "补充协议":[
          { enName:'modelName', cnName:'合同模板', type:'custom',value:{itemData:''},numRowsOccupied: 5, numColumnOccupied: 2 ,formItemAttr:{labelCol:{span: 2},wrapperCol:{span: 20}},itemAttr:{actionType:'1',event:()=>{pageSelf.$router.back()}},},
        ]
      },
      btnList:[]
    },
    // 中止
    'CM003':{
      pageTitle:'合同中止',
       // 状态1  2  3 4
      // wuzhuang  数据全集
      // 所有的配置数据
      // 表单校验配置
      formRules:{
        reason:[{ required: true, message: '请填写终止原因', trigger: 'blur' }],
        riskProveFile:[
          { required: true, message: '请上传风控证明文件', trigger: 'blur' },
          { validator: (rule, value, callback) => {upLoadRules(rule, value, callback,'请上传风控证明文件')} , trigger: 'blur' }
        ],
      },
      // 表单具体数据
      formDataList:{
        '合同中止':[
          { enName:'reason', cnName:'中止原因', type:'textarea',value:'',numRowsOccupied: 5, numColumnOccupied: 2 ,formItemAttr:{labelCol:{span: 2},wrapperCol:{span: 20}},itemAttr:{autoSize:{ minRows: 3, maxRows: 6 }},},
          { enName:'riskProveFile', cnName:'风控证明文件', type:'UpLoad',value:{},numRowsOccupied: 1, numColumnOccupied: 2 ,formItemAttr:{labelCol:{span: 2},wrapperCol:{span: 20}},itemAttr:{config:upLoadConfig(),customRequestEvent:pageSelf.PUpLoadFileCustomRequestEvent,extendedFileVerification:extendedFileVerification }},
         ],
      },
      btnList:[{key:'XQ001',disabled:false, label:'提交审核',type:'primary'},]
    },
    // 用户申诉
    'CM006':{
      pageTitle:'用户申诉',
      // 状态1  2  3 4
     // wuzhuang  数据全集
     // 所有的配置数据
     // 表单校验配置
     formRules:{
      reason1:[{ required: true, message: '请填写申诉说明', trigger: 'blur' }],
      riskFile1:[
         { required: true, message: '请上申诉文件', trigger: 'blur' },
         { validator: (rule, value, callback) => {upLoadRules(rule, value, callback,'请上传申诉文件')} , trigger: 'blur' }
       ],
     },
     // 表单具体数据
     formDataList:{
        '用户申诉':[
          { enName:'riskFile1', cnName:'申诉文件', type:'UpLoad',value:{},numRowsOccupied: 1, numColumnOccupied: 2 ,formItemAttr:{labelCol:{span: 2},wrapperCol:{span: 20}},itemAttr:{config:upLoadConfig(),customRequestEvent:pageSelf.PUpLoadFileCustomRequestEvent,extendedFileVerification:[{ 'groupName':'合同专用', suffixArr:['jpg','jpeg','png','pdf','doc','docx','xls','xlsx','zip','rar'],errorMsg:'只允许上传 jpg,jpeg,png,pdf,doc,docx,xls,xlsx,zip,rar类型文件' }],},},
          { enName:'reason1', cnName:'申诉说明', type:'textarea',value:'',numRowsOccupied: 1, numColumnOccupied: 2 ,formItemAttr:{labelCol:{span: 2},wrapperCol:{span: 20}},itemAttr:{valueFormat:"YYYY-MM-DD",format:"YYYY-MM-DD"},},
        ],
      },

      // 操作按钮数据
      btnList:[
        {key:'XQ001',disabled:false, label:'提交审核',type:'primary'},
      ]

    },
    // 解除中止
    'CM004':{
      pageTitle:'解除中止合同',
      // 状态1  2  3 4
      // wuzhuang  数据全集
      // 所有的配置数据
      formRules:{
        reason2:[{ required: true, message: '请填写解除原因', trigger: 'blur' }],
      },
       // 表单具体数据
       formDataList:{
        '解除中止':[
          { enName:'reason2', cnName:'解除原因', type:'textarea',value:'',numRowsOccupied: 1, numColumnOccupied: 2 ,formItemAttr:{labelCol:{span: 2},wrapperCol:{span: 20}},itemAttr:{valueFormat:"YYYY-MM-DD",format:"YYYY-MM-DD"},},
        ]
      },
      // 操作按钮数据
      btnList:[
        {key:'XQ001',disabled:false, label:'提交审核',type:'primary'},
      ],

    },
    // 终止
    'CM005':{
      pageTitle:'终止合同',
       // 状态1  2  3 4
      // wuzhuang  数据全集
      // 所有的配置数据
      // 表单校验配置
      formRules:{
        reason:[{ required: true, message: '请填写终止原因', trigger: 'blur' }],
        riskProveFile:[
          { required: true, message: '请上传风控证明文件', trigger: 'blur' },
          { validator: (rule, value, callback) => {upLoadRules(rule, value, callback,'请上传风控证明文件')} , trigger: 'blur' }
        ],
      },
     // 表单具体数据
     formDataList:{
      '终止合同':[
        { enName:'reason', cnName:'终止原因', type:'textarea',value:'',numRowsOccupied: 5, numColumnOccupied: 2 ,formItemAttr:{labelCol:{span: 2},wrapperCol:{span: 20}},itemAttr:{autoSize:{ minRows: 3, maxRows: 6 }},},
        { enName:'riskProveFile', cnName:'风控证明文件', type:'UpLoad',value:{},numRowsOccupied: 1, numColumnOccupied: 2 ,formItemAttr:{labelCol:{span: 2},wrapperCol:{span: 20}},itemAttr:{config:upLoadConfig(),customRequestEvent:pageSelf.PUpLoadFileCustomRequestEvent,extendedFileVerification:extendedFileVerification }},
      ]
     },
      // 操作按钮数据
      btnList:[
        {key:'XQ001',disabled:false, label:'提交审核',type:'primary'},
      ],
    },
    // 合同审核详情
    'CM000':{
      pageTitle:'合同审核',
       // 状态1  2  3 4
      // wuzhuang  数据全集
      // 所有的配置数据
      // 表单校验配置
      formRules:{},
     // 表单具体数据
     formDataList:{
      '终止合同':[]
     },
      // 操作按钮数据
      btnList:[],
    },
    'CM007':{
      pageTitle:'合同详情',
       // 状态1  2  3 4
      // wuzhuang  数据全集
      // 所有的配置数据
      // 表单校验配置
      formRules:{},
     // 表单具体数据
     formDataList:{
      '终止合同':[]
     },
      // 操作按钮数据
      btnList:[],
    },

  }
}

export default pageConfig
